package com.cyf.wechat.service;

import com.cyf.wechat.network.bean.*;

import java.util.List;

/**
 * 接收微信请求
 * @author cage
 *
 */
public interface WechatService {
    /**
     * 微信用户请求计费
     * @param req
     * @return
     */
	WechatGetFeeRsp getFee(WechatGetFeeReq req);

	/**
	 * 微信用户支付完成通知车场
	 * @param req
	 * @return
	 */
	WechatPayFeeRsp payFee(WechatPayFeeReq req);

	/**
	 * 微信用户获取 自己已入场的车辆
	 * @param req
	 * @return
	 */
	WechatGetCarsRsp getInCars(WechatGetCarsReq req);

	/**
	 * 微信用户 行车记录查询
	 * @param req
	 * @return
	 */
	WechatInOutParkingRsp queryInOutParking(WechatInOutParkingReq req);


	WechatQueryFeedetailRsp queryFeedetail(WechatQueryFeedetailReq req);

	/**
	 * 获取微信用户月卡充值表单页面
	 * @param req
	 * @return
	 */
	WechatGetFeeRateRsp getFeeRate(WechatGetFeeRateReq req);

	/**
	 * 微信用户 月卡充值
	 * @param req
	 */
	void carRecharge(WechatCarRechargeReq req);



	/**
	 * 获取人管平台的部门人员出入记录
	 * @param req
	 */
	WechatEventRecordRsp getEventRecord(WechatEventRecordReq req);

	/**
	 * 受访者邀请访客
	 * @param req
	 * @return
	 */
	WechatInviteRsp invite(WechatInviteReq req);

	/**
	 * 访客申请访问
	 * @param req
	 * @return
	 */
    WechatApplyVisitRsp applyVisit(WechatApplyVisitReq req);

	/**
	 * 被访客同意或拒绝访问
	 * @param req
	 * @return
	 */
	WechatProcessVisitRsp processVisit(WechatProcessVisitReq req);

	/**
	 * 获取访客申请信息
	 * @param req
	 * @return
	 */
	WechatGetVisitorRecordRsp getVisitorRecord(WechatGetVisitorRecordReq req);

	/**
	 * 获取我的访客申请列表
	 * @param req
	 * @return
	 */
    WechatGetMyApplyRsp getMyApply(WechatGetMyApplyReq req);

    byte[] getVisitorImg(Integer imageId);

	/**
	 * 获取微信用户月卡充值表单页面
	 * @param req
	 * @return
	 */
	WechatGetFeeRateNewRsp getFeeRateNew(WechatGetFeeRateReq req);

	/**
	 * 获取洗车券
	 * @param req
	 * @return
	 */
    WechatGetCarWashCouponsRsp getCarWashCoupons(WechatGetCarWashCouponsReq req);

	/**
	 * 洗车
	 * @param req
	 * @return
	 */
	WechatCarWashRsp carWash(WechatCarWashReq req);

}
